| Conditions | 1 |
| Paths | 1 |
| Total Lines | 332 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | var assert = require('assert'); |
||
| 72 | describe("convertBlockTxs", function() { |
||
| 73 | it("works", function(cb) { |
||
| 74 | var input = { |
||
| 75 | "data": { |
||
| 76 | "total_count": 388, |
||
| 77 | "page": 1, |
||
| 78 | "pagesize": 50, |
||
| 79 | "list": [ |
||
| 80 | { |
||
| 81 | "confirmations": 310251, |
||
| 82 | "block_height": 200000, |
||
| 83 | "block_time": 1348310759, |
||
| 84 | "created_at": 1492101215, |
||
| 85 | "fee": 63517500, |
||
| 86 | "hash": "dbaf14e1c476e76ea05a8b71921a46d6b06f0a950f17c5f9f1a03b8fae467f10", |
||
| 87 | "inputs_count": 1, |
||
| 88 | "inputs_value": 0, |
||
| 89 | "is_coinbase": true, |
||
| 90 | "is_double_spend": false, |
||
| 91 | "is_sw_tx": false, |
||
| 92 | "weight": 768, |
||
| 93 | "vsize": 192, |
||
| 94 | "witness_hash": "dbaf14e1c476e76ea05a8b71921a46d6b06f0a950f17c5f9f1a03b8fae467f10", |
||
| 95 | "lock_time": 0, |
||
| 96 | "outputs_count": 1, |
||
| 97 | "outputs_value": 5063517500, |
||
| 98 | "size": 192, |
||
| 99 | "sigops": 4, |
||
| 100 | "version": 1, |
||
| 101 | "inputs": [ |
||
| 102 | { |
||
| 103 | "prev_addresses": [], |
||
| 104 | "prev_position": -1, |
||
| 105 | "prev_tx_hash": "0000000000000000000000000000000000000000000000000000000000000000", |
||
| 106 | "prev_type": "NONSTANDARD", |
||
| 107 | "prev_value": 0, |
||
| 108 | "sequence": 4294967295, |
||
| 109 | "script_asm": "", |
||
| 110 | "script_hex": "03400d0302ef02062f503253482f522cfabe6d6dd90d39663d10f8fd25ec88338295d4c6ce1c90d4aeb368d8bdbadcc1da3b635801000000000000000474073e03", |
||
| 111 | "witness": [] |
||
| 112 | } |
||
| 113 | ], |
||
| 114 | "outputs": [ |
||
| 115 | { |
||
| 116 | "addresses": [ |
||
| 117 | "1MdYC22Gmjp2ejVPCxyYjFyWbQCYTGhGq8" |
||
| 118 | ], |
||
| 119 | "value": 5063517500, |
||
| 120 | "type": "P2PKH_PUBKEY", |
||
| 121 | "script_asm": "04b0bd634234abbb1ba1e986e884185c61cf43e001f9137f23c2c409273eb16e6537a576782eba668a7ef8bd3b3cfb1edb7117ab65129b8a2e681f3c1e0908ef7b OP_CHECKSIG", |
||
| 122 | "script_hex": "4104b0bd634234abbb1ba1e986e884185c61cf43e001f9137f23c2c409273eb16e6537a576782eba668a7ef8bd3b3cfb1edb7117ab65129b8a2e681f3c1e0908ef7bac", |
||
| 123 | "spent_by_tx": "5c76eb4dfb0941856a229833ef05b2f5c669dadc98ed2a34ea11974cacba9dc7", |
||
| 124 | "spent_by_tx_position": 0 |
||
| 125 | } |
||
| 126 | ] |
||
| 127 | }, |
||
| 128 | { |
||
| 129 | "confirmations": 310251, |
||
| 130 | "block_height": 200000, |
||
| 131 | "block_time": 1348310759, |
||
| 132 | "created_at": 1492101215, |
||
| 133 | "fee": 0, |
||
| 134 | "hash": "ee475443f1fbfff84ffba43ba092a70d291df233bd1428f3d09f7bd1a6054a1f", |
||
| 135 | "inputs_count": 1, |
||
| 136 | "inputs_value": 10212000000, |
||
| 137 | "is_coinbase": false, |
||
| 138 | "is_double_spend": false, |
||
| 139 | "is_sw_tx": false, |
||
| 140 | "weight": 904, |
||
| 141 | "vsize": 226, |
||
| 142 | "witness_hash": "ee475443f1fbfff84ffba43ba092a70d291df233bd1428f3d09f7bd1a6054a1f", |
||
| 143 | "lock_time": 0, |
||
| 144 | "outputs_count": 2, |
||
| 145 | "outputs_value": 10212000000, |
||
| 146 | "size": 226, |
||
| 147 | "sigops": 8, |
||
| 148 | "version": 1, |
||
| 149 | "inputs": [ |
||
| 150 | { |
||
| 151 | "prev_addresses": [ |
||
| 152 | "1CfD77hupeUvFwBPxZ2fA8iyWmVwQY22oh" |
||
| 153 | ], |
||
| 154 | "prev_position": 1, |
||
| 155 | "prev_tx_hash": "6e046b9c7683b5887bbde42ec358542ffe9c250306edb2d0cf386394aa96ee10", |
||
| 156 | "prev_type": "P2PKH", |
||
| 157 | "prev_value": 10212000000, |
||
| 158 | "sequence": 4294967295, |
||
| 159 | "script_asm": "3045022100e5e4749d539a163039769f52e1ebc8e6f62e39387d61e1a305bd722116cded6c022014924b745dd02194fe6b5cb8ac88ee8e9a2aede89e680dcea6169ea696e24d52[ALL] 02b4b754609b46b5d09644c2161f1767b72b93847ce8154d795f95d31031a08aa2", |
||
| 160 | "script_hex": "483045022100e5e4749d539a163039769f52e1ebc8e6f62e39387d61e1a305bd722116cded6c022014924b745dd02194fe6b5cb8ac88ee8e9a2aede89e680dcea6169ea696e24d52012102b4b754609b46b5d09644c2161f1767b72b93847ce8154d795f95d31031a08aa2", |
||
| 161 | "witness": [] |
||
| 162 | } |
||
| 163 | ], |
||
| 164 | "outputs": [ |
||
| 165 | { |
||
| 166 | "addresses": [ |
||
| 167 | "1FhNPRh1TxVidoKkWFEpdmK5RXw9vG1KUb" |
||
| 168 | ], |
||
| 169 | "value": 5586000000, |
||
| 170 | "type": "P2PKH", |
||
| 171 | "script_asm": "OP_DUP OP_HASH160 a134408afa258a50ed7a1d9817f26b63cc9002cc OP_EQUALVERIFY OP_CHECKSIG", |
||
| 172 | "script_hex": "76a914a134408afa258a50ed7a1d9817f26b63cc9002cc88ac", |
||
| 173 | "spent_by_tx": "12c7db0b0f4baae58ee1be0fd925fbbf7588ea3339f38557978015ba120ca086", |
||
| 174 | "spent_by_tx_position": 0 |
||
| 175 | }, |
||
| 176 | { |
||
| 177 | "addresses": [ |
||
| 178 | "1QE7Tazy1uHD1utCb1fCW6aLF3RZ1sNwd2" |
||
| 179 | ], |
||
| 180 | "value": 4626000000, |
||
| 181 | "type": "P2PKH", |
||
| 182 | "script_asm": "OP_DUP OP_HASH160 fec5b1145596b35f59f8be1daf169f3759421433 OP_EQUALVERIFY OP_CHECKSIG", |
||
| 183 | "script_hex": "76a914fec5b1145596b35f59f8be1daf169f375942143388ac", |
||
| 184 | "spent_by_tx": "6cf0a98e6290c343c8eed9373ec63329a5147a491974d3a146bdbf466978b306", |
||
| 185 | "spent_by_tx_position": 0 |
||
| 186 | } |
||
| 187 | ] |
||
| 188 | }, |
||
| 189 | { |
||
| 190 | "confirmations": 310251, |
||
| 191 | "block_height": 200000, |
||
| 192 | "block_time": 1348310759, |
||
| 193 | "created_at": 1492101215, |
||
| 194 | "fee": 0, |
||
| 195 | "hash": "e03a9a4b5c557f6ee3400a29ff1475d1df73e9cddb48c2391abdc391d8c1504a", |
||
| 196 | "inputs_count": 1, |
||
| 197 | "inputs_value": 9500000000, |
||
| 198 | "is_coinbase": false, |
||
| 199 | "is_double_spend": false, |
||
| 200 | "is_sw_tx": false, |
||
| 201 | "weight": 900, |
||
| 202 | "vsize": 225, |
||
| 203 | "witness_hash": "e03a9a4b5c557f6ee3400a29ff1475d1df73e9cddb48c2391abdc391d8c1504a", |
||
| 204 | "lock_time": 0, |
||
| 205 | "outputs_count": 2, |
||
| 206 | "outputs_value": 9500000000, |
||
| 207 | "size": 225, |
||
| 208 | "sigops": 8, |
||
| 209 | "version": 1, |
||
| 210 | "inputs": [ |
||
| 211 | { |
||
| 212 | "prev_addresses": [ |
||
| 213 | "1DC8mbgdVFNZn7ie6wUVGegKHsqvKkN7Qn" |
||
| 214 | ], |
||
| 215 | "prev_position": 0, |
||
| 216 | "prev_tx_hash": "0530375a5bf4ea9a82494fcb5ef4a61076c2af807982076fa810851f4bc31c09", |
||
| 217 | "prev_type": "P2PKH", |
||
| 218 | "prev_value": 9500000000, |
||
| 219 | "sequence": 4294967295, |
||
| 220 | "script_asm": "304402202b5869e0b4e711784daecd511f9dadf28e37113ef5054a6898d0367034afb067022014dfd2f58da949550ddc4ebb1135527cdbc48b25c6eb6388cc88231fd7ea04a9[ALL] 02fec863d4d0baf5e01a9bd9c59b790bbf683c5b7b6624d7aa7ab9405c5fdb9786", |
||
| 221 | "script_hex": "47304402202b5869e0b4e711784daecd511f9dadf28e37113ef5054a6898d0367034afb067022014dfd2f58da949550ddc4ebb1135527cdbc48b25c6eb6388cc88231fd7ea04a9012102fec863d4d0baf5e01a9bd9c59b790bbf683c5b7b6624d7aa7ab9405c5fdb9786", |
||
| 222 | "witness": [] |
||
| 223 | } |
||
| 224 | ], |
||
| 225 | "outputs": [ |
||
| 226 | { |
||
| 227 | "addresses": [ |
||
| 228 | "1HtF7xbaDwJu1j5sKpetG91xr4AZHYmJTL" |
||
| 229 | ], |
||
| 230 | "value": 9400000000, |
||
| 231 | "type": "P2PKH", |
||
| 232 | "script_asm": "OP_DUP OP_HASH160 b933036b1f143e6ee5f9038c4205f6bbe41e49cc OP_EQUALVERIFY OP_CHECKSIG", |
||
| 233 | "script_hex": "76a914b933036b1f143e6ee5f9038c4205f6bbe41e49cc88ac", |
||
| 234 | "spent_by_tx": "360c0ee799aa6e00032f87d62751d5a20cd9e6c6245f6420971647c45aca59e9", |
||
| 235 | "spent_by_tx_position": 0 |
||
| 236 | }, |
||
| 237 | { |
||
| 238 | "addresses": [ |
||
| 239 | "1AQHgGfYswNkput7vzGzCUUzH4wQQkWKXr" |
||
| 240 | ], |
||
| 241 | "value": 100000000, |
||
| 242 | "type": "P2PKH", |
||
| 243 | "script_asm": "OP_DUP OP_HASH160 67209ed8971b9bdf4147cd25e5f09c77f43c0dac OP_EQUALVERIFY OP_CHECKSIG", |
||
| 244 | "script_hex": "76a91467209ed8971b9bdf4147cd25e5f09c77f43c0dac88ac", |
||
| 245 | "spent_by_tx": "4f67254491474ae03d8e023fae4bf249e1f81b07efb6ea763a13c9bc7b4210b3", |
||
| 246 | "spent_by_tx_position": 1 |
||
| 247 | } |
||
| 248 | ] |
||
| 249 | }, |
||
| 250 | { |
||
| 251 | "confirmations": 310251, |
||
| 252 | "block_height": 200000, |
||
| 253 | "block_time": 1348310759, |
||
| 254 | "created_at": 1492101215, |
||
| 255 | "fee": 0, |
||
| 256 | "hash": "ffa0267c8f2af736858894d6f3e5081a05e2ec16dc98f78a80f376ce35077491", |
||
| 257 | "inputs_count": 1, |
||
| 258 | "inputs_value": 37325663465, |
||
| 259 | "is_coinbase": false, |
||
| 260 | "is_double_spend": false, |
||
| 261 | "is_sw_tx": false, |
||
| 262 | "weight": 1032, |
||
| 263 | "vsize": 258, |
||
| 264 | "witness_hash": "ffa0267c8f2af736858894d6f3e5081a05e2ec16dc98f78a80f376ce35077491", |
||
| 265 | "lock_time": 0, |
||
| 266 | "outputs_count": 2, |
||
| 267 | "outputs_value": 37325663465, |
||
| 268 | "size": 258, |
||
| 269 | "sigops": 8, |
||
| 270 | "version": 1, |
||
| 271 | "inputs": [ |
||
| 272 | { |
||
| 273 | "prev_addresses": [ |
||
| 274 | "1AGt1P3fhCF9MUue3dheegBZgGVHeLAtLr" |
||
| 275 | ], |
||
| 276 | "prev_position": 1, |
||
| 277 | "prev_tx_hash": "1fa6ecf02e5de2001e4aec6d3e90b5ef6d81aead39e7f04f303e6c8415547bba", |
||
| 278 | "prev_type": "P2PKH", |
||
| 279 | "prev_value": 37325663465, |
||
| 280 | "sequence": 4294967295, |
||
| 281 | "script_asm": "3045022001b572518fe610121b777286b424d89ba73fe503ff440458f01361a29348248b022100fa1afae0ccf3007d208605662685dd57e6940066ae6be81aa8b2af319060fceb[ALL] 04f28840b52c60c0fa041b9f4b2fa3dd00bccd71c0ab03f4db3c4295a23b117535fdd6d34787f95870d51ec245c800d851dd8509de42c47a0dc7a09300053110b8", |
||
| 282 | "script_hex": "483045022001b572518fe610121b777286b424d89ba73fe503ff440458f01361a29348248b022100fa1afae0ccf3007d208605662685dd57e6940066ae6be81aa8b2af319060fceb014104f28840b52c60c0fa041b9f4b2fa3dd00bccd71c0ab03f4db3c4295a23b117535fdd6d34787f95870d51ec245c800d851dd8509de42c47a0dc7a09300053110b8", |
||
| 283 | "witness": [] |
||
| 284 | } |
||
| 285 | ], |
||
| 286 | "outputs": [ |
||
| 287 | { |
||
| 288 | "addresses": [ |
||
| 289 | "1D5Em12TqtZtX3LJHYiGjarKCVss4nMmGP" |
||
| 290 | ], |
||
| 291 | "value": 17749527722, |
||
| 292 | "type": "P2PKH", |
||
| 293 | "script_asm": "OP_DUP OP_HASH160 846ea88b63aa1dbf265a33127f518974402870bd OP_EQUALVERIFY OP_CHECKSIG", |
||
| 294 | "script_hex": "76a914846ea88b63aa1dbf265a33127f518974402870bd88ac", |
||
| 295 | "spent_by_tx": "0e6641d59cbcbbb2df61f1f80b044642dd68916096de00f9d9e4f0106e148d2c", |
||
| 296 | "spent_by_tx_position": 1 |
||
| 297 | }, |
||
| 298 | { |
||
| 299 | "addresses": [ |
||
| 300 | "13b9rHKTNBMdKWmoiKM8o7Gx5zkvJwZG6x" |
||
| 301 | ], |
||
| 302 | "value": 19576135743, |
||
| 303 | "type": "P2PKH", |
||
| 304 | "script_asm": "OP_DUP OP_HASH160 1c65c81774aa85e123b0e5c51bc7cda6805f154e OP_EQUALVERIFY OP_CHECKSIG", |
||
| 305 | "script_hex": "76a9141c65c81774aa85e123b0e5c51bc7cda6805f154e88ac", |
||
| 306 | "spent_by_tx": "93ee77570a26841bc55a76a0739024b6521183a7d2fee3a0320570c41d01b76f", |
||
| 307 | "spent_by_tx_position": 0 |
||
| 308 | } |
||
| 309 | ] |
||
| 310 | }, |
||
| 311 | { |
||
| 312 | "confirmations": 310251, |
||
| 313 | "block_height": 200000, |
||
| 314 | "block_time": 1348310759, |
||
| 315 | "created_at": 1492101215, |
||
| 316 | "fee": 50000, |
||
| 317 | "hash": "2674c8a46b75e5a5e3287a34d7999a1e5e6f052be36f63f3cb483ec148c9b86c", |
||
| 318 | "inputs_count": 1, |
||
| 319 | "inputs_value": 946622517855, |
||
| 320 | "is_coinbase": false, |
||
| 321 | "is_double_spend": false, |
||
| 322 | "is_sw_tx": false, |
||
| 323 | "weight": 908, |
||
| 324 | "vsize": 227, |
||
| 325 | "witness_hash": "2674c8a46b75e5a5e3287a34d7999a1e5e6f052be36f63f3cb483ec148c9b86c", |
||
| 326 | "lock_time": 0, |
||
| 327 | "outputs_count": 2, |
||
| 328 | "outputs_value": 946622467855, |
||
| 329 | "size": 227, |
||
| 330 | "sigops": 8, |
||
| 331 | "version": 1, |
||
| 332 | "inputs": [ |
||
| 333 | { |
||
| 334 | "prev_addresses": [ |
||
| 335 | "14DeXEwWrpo7urTz76LgQpxXtF8SAQMTbe" |
||
| 336 | ], |
||
| 337 | "prev_position": 0, |
||
| 338 | "prev_tx_hash": "a8d4bb8395b6a59ff0355a145b3c0a63d42966af02c373e4c86e4d2779f514e2", |
||
| 339 | "prev_type": "P2PKH", |
||
| 340 | "prev_value": 946622517855, |
||
| 341 | "sequence": 4294967295, |
||
| 342 | "script_asm": "3046022100d9331c464433c16e59947d6d36df23cd6d29160e97e2707c27bd7641d291a3380221008b1927354afb5a1bd0412fdbde7a3141cba991342ac17505bf13452dac4a533a[ALL] 0319a9a55c1e4dfd168adae85af834ec0db91ae1c164c7286316155a9135afcee8", |
||
| 343 | "script_hex": "493046022100d9331c464433c16e59947d6d36df23cd6d29160e97e2707c27bd7641d291a3380221008b1927354afb5a1bd0412fdbde7a3141cba991342ac17505bf13452dac4a533a01210319a9a55c1e4dfd168adae85af834ec0db91ae1c164c7286316155a9135afcee8", |
||
| 344 | "witness": [] |
||
| 345 | } |
||
| 346 | ], |
||
| 347 | "outputs": [ |
||
| 348 | { |
||
| 349 | "addresses": [ |
||
| 350 | "1Fg7BsVkTk1gWnWTpgyb26Zo6NGNsx2gcQ" |
||
| 351 | ], |
||
| 352 | "value": 945815591855, |
||
| 353 | "type": "P2PKH", |
||
| 354 | "script_asm": "OP_DUP OP_HASH160 a0f7260313ab5798391cb610bc4fe0a6be883d59 OP_EQUALVERIFY OP_CHECKSIG", |
||
| 355 | "script_hex": "76a914a0f7260313ab5798391cb610bc4fe0a6be883d5988ac", |
||
| 356 | "spent_by_tx": "981db136c4efaa9f91db680bf16aa2e38a0bc13e70f56d5f10b1b86903973f51", |
||
| 357 | "spent_by_tx_position": 0 |
||
| 358 | }, |
||
| 359 | { |
||
| 360 | "addresses": [ |
||
| 361 | "1Q22kYfL81iaAZZLj4epvUQ3yLv57Mgd56" |
||
| 362 | ], |
||
| 363 | "value": 806876000, |
||
| 364 | "type": "P2PKH", |
||
| 365 | "script_asm": "OP_DUP OP_HASH160 fc7cc53ddff31d4c6b18ea7331b80f2b76d7a45d OP_EQUALVERIFY OP_CHECKSIG", |
||
| 366 | "script_hex": "76a914fc7cc53ddff31d4c6b18ea7331b80f2b76d7a45d88ac", |
||
| 367 | "spent_by_tx": "a68c971e3666c36717fe2ec80e6ebbefd5045601476d5c845b90c26c4fa2a71d", |
||
| 368 | "spent_by_tx_position": 9 |
||
| 369 | } |
||
| 370 | ] |
||
| 371 | } |
||
| 372 | ] |
||
| 373 | }, |
||
| 374 | "err_no": 0, |
||
| 375 | "err_msg": null |
||
| 376 | }; |
||
| 377 | |||
| 378 | var output = converter.convertBlockTxs(input); |
||
| 379 | assert.ok("current_page" in output); |
||
| 380 | assert.ok("per_page" in output); |
||
| 381 | assert.ok("total" in output); |
||
| 382 | |||
| 383 | // assert fields match |
||
| 384 | [ |
||
| 385 | ["size", "size"], |
||
| 386 | ["hash", "hash"], |
||
| 387 | ["confirmations", "confirmations"], |
||
| 388 | ["is_coinbase", "is_coinbase"], |
||
| 389 | ["total_fee", "fee"], |
||
| 390 | ["size", "size"], |
||
| 391 | ["is_double_spend", "is_double_spend"] |
||
| 392 | |||
| 393 | ].forEach(function(keyAssoc) { |
||
| 394 | var blocktrailKey = keyAssoc[0]; |
||
| 395 | var btccomKey = keyAssoc[1]; |
||
| 396 | var blockTx = output.data[0]; |
||
| 397 | assert.ok(blocktrailKey in blockTx); |
||
| 398 | assert.ok(input.data.list[0][btccomKey] == blockTx[blocktrailKey]) |
||
| 399 | }); |
||
| 400 | |||
| 401 | cb(); |
||
| 402 | }); |
||
| 403 | }); |
||
| 404 | |||
| 836 |